package com.smartleanx.module.hrm.service.salary;



import com.alibaba.fastjson2.JSONObject;
import com.github.pagehelper.PageInfo;
import com.smartleanx.module.hrm.dal.dataobject.employee.EmployeeDO;
import com.smartleanx.module.hrm.dal.dataobject.salary.HrmSalaryFixed;
import com.smartleanx.module.hrm.dal.dataobject.salary.vo.FixedEmployeeUpdateVo;
import com.smartleanx.module.hrm.dal.dataobject.salary.vo.FixedEmployeeVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author mybatis-plus
 * @since 2025-01-05
 */
public interface HrmSalaryFixedService  {



    PageInfo<FixedEmployeeVo> selectFixedList(Integer pageNum, Integer pageSize,Integer postName,Integer postLevelId,Integer employeeFrom,Integer employeeState,Integer employeeResignation,String employeeName, String deptName, String employeeNo,List<Integer> employeeIds);

    void  updateEmployeeFixed(HrmSalaryFixed hrmSalaryFixed);

    List<JSONObject> selectEmployeeIdListByFixed();

    List<JSONObject> selectFixedUpdate();
    void updateEmployeeFixedList(JSONObject param);


    FixedEmployeeVo getEmployeeFixedById(Integer employeeId);

    /**
     * 调薪记录
     * @param employeeId
     * @return
     */
    List<HrmSalaryFixed> selectEmployeeFixedList(Integer employeeId);

    /**
     * 调薪记录详情
     */
    FixedEmployeeUpdateVo getEmployeeFixedInfoById(Integer id);

    /**
     * 调薪记录编辑回显
     * @param id
     * @return
     */

    FixedEmployeeUpdateVo getEmployeeFixedInfoUpdateById(Integer id);
    /**
     * 调薪记录编辑
     */
    void updateEmployeeFixedInfoById(HrmSalaryFixed hrmSalaryFixed);


    /**
     * 调薪记录编辑
     */
    void deletedEmployeeFixedInfoById(Integer id);


    FixedEmployeeVo selectByEmployeeInfo(Integer employeeId);


    void insertEmployeeFixedInfo(HrmSalaryFixed hrmSalaryFixed);


    void updateEmployeeFixedInfo(HrmSalaryFixed hrmSalaryFixed);
}
